package cn.uin.domain.family.service;

import cn.uin.domain.family.model.aggregate.UserFamilyInfoAggregate;
import cn.uin.domain.family.model.entity.HomeFamilyEntity;
import org.springframework.ui.Model;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;

/**
 * @ClassName IFamilyService
 * @Description:家庭服务接口
 * @Author: Administrator
 * @CreateDate: 2025/11/10 16:54
 * @Version: 1.0
 */
public interface IFamilyService {

	/**
	 * 根据用户id获取家庭信息
	 * @param userId
	 * @return
	 */
	UserFamilyInfoAggregate queryUserFamilyInfo(Long userId);

	/**
	 * 邮箱激活加入家庭
	 * @param token
	 * @param email
	 * @param familyId
	 * @param redirectAttributes
	 * @param model
	 * @return
	 */
	String activateAddFamily(String token, String email, Long familyId, RedirectAttributes redirectAttributes, Model model);

	/**
	 * 邀请成员加入家庭
	 * @param family
	 * @param email
	 * @return
	 */
	Boolean inviteToFamily(Long family, String email);

	/**
	 * 创建家庭
	 * @param homeFamilyEntity
	 * @return
	 */
	void createFamily(HomeFamilyEntity homeFamilyEntity);


}
